home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Softdisk G-S 131
/
SGDS 131.2mg
/
SDGS.131
/
SDC131
/
C
/
MD.2
(
.txt
)
< prev
next >
Encoding:
Amiga
Atari
Commodore
DOS
FM Towns/JPY
Macintosh
Macintosh JP
NeXTSTEP
RISC OS
UTF-8
Wrap
Applesoft BASIC Source Code
|
1992-08-25
|
11.7 KB
|
354 lines
|
[FC] Applesoft BASIC Program (0x6001)
120 DIM Q%(16),R%(16),S%(16),T%(16),U%(16),V%(16)
130 DIM M$(12),Z$(11),C%(21),D(20)
180 HG = 49234: HCOLOR= 3
190 MP = 1:CH = 32:BS$ = CHR$(8):FS$ = CHR$(21):CR$ = CHR$(13):UP$ = CHR$(11):DN$ = CHR$(10):ES$ = CHR$(27):BL$ = CHR$(7)
210 GOSUB 1820
220 VTAB 12: HTAB 1: PRINT "WORKING ..."
230 FOR X = 1 TO 16: READ R%(X),S%(X),T%(X),U%(X),V%(X): NEXT
240 DATA 4,19,4,22,20,6,16,6,19,17,6,22,6,25,23,8,13,8,16,14
250 DATA 8,19,8,22,20,8,25,8,28,26,10,10,10,13,11,10,16,10,19,17
260 DATA 10,22,10,25,23,10,28,10,31,29,12,13,12,16,14,12,19,12,22,20
270 DATA 12,25,12,28,26,14,16,14,19,17,14,22,14,25,23,16,19,16,22,20
280 FOR X = 1 TO 6: READ W$(X): NEXT
290 DATA "Can you fill a 9-cell diamond?","Can you fill a 16-cell diamond?"
300 DATA "Tutorial on 16-cell diamonds.","Make your own magic diamonds!","Main menu",Quit
310 VTAB 12: HTAB 1: PRINT SPC( 40): GOTO 1310
320 REM ** FILL OUT 16-CELL DIAMOND **
330 GOSUB 780
340 I = 1:J = 1:J2 = 0
350 GOSUB 390
360 VTAB T%(I): ROT= U%(I): SCALE= V%(I):T1$ = STR$(Q%(I)):IN$ = T1$: GOSUB 980:Q%(I) = VAL(IN$)
361 IF AF = 11 THEN I = I -1: IF I = 0 THEN I = 16
362 IF AF = 11 THEN AF = 0: GOTO 350
370 AF = 0:I = I +1: IF I = 17 THEN I = 1
380 GOTO 350
390 D(1) = Q%(7) +Q%(8) +Q%(9) +Q%(10):D(2) = Q%(1) +Q%(2) +Q%(4) +Q%(7):D(3) = Q%(3) +Q%(5) +Q%(8) +Q%(11)
391 D(4) = Q%(6) +Q%(9) +Q%(12) +Q%(14):D(5) = Q%(10) +Q%(13) +Q%(15) +Q%(16):D(6) = Q%(1) +Q%(5) +Q%(12) +Q%(16)
392 D(7) = Q%(7) +Q%(11) +Q%(14) +Q%(16):D(8) = Q%(4) +Q%(8) +Q%(12) +Q%(15):D(9) = Q%(2) +Q%(5) +Q%(9) +Q%(13)
393 D(10) = Q%(1) +Q%(3) +Q%(6) +Q%(10):D(11) = Q%(1) +Q%(2) +Q%(3) +Q%(5):D(12) = Q%(4) +Q%(7) +Q%(8) +Q%(11)
394 D(13) = Q%(5) +Q%(8) +Q%(9) +Q%(12):D(14) = Q%(6) +Q%(9) +Q%(13) +Q%(10):D(15) = Q%(12) +Q%(14) +Q%(15) +Q%(16)
395 D(16) = Q%(1) +Q%(7) +Q%(10) +Q%(16):D(17) = Q%(3) +Q%(6) +Q%(11) +Q%(14):D(18) = Q%(2) +Q%(4) +Q%(13) +Q%(15)
396 D(19) = Q%(4) +Q%(6) +Q%(11) +Q%(13):D(20) = Q%(2) +Q%(3) +Q%(14) +Q%(15)
400 VTAB 10: HTAB 34: PRINT D(1) SPC( D(1) <10): PRINT : PRINT : HTAB 8: PRINT SPC( D(2) <10)D(2): PRINT : HTAB 11: PRINT SPC( D(3) <10)D(3): PRINT : HTAB 14: PRINT SPC( D(4) <10)D(4)
401 PRINT : HTAB 17: PRINT SPC( D(5) <10)D(5): VTAB 12: HTAB 31: PRINT D(10) SPC( D(10) <10): PRINT : PRINT : HTAB 28: PRINT D(9) SPC( D(9) <10): PRINT : PRINT : HTAB 25: PRINT D(8) SPC( D(8) <10)
402 PRINT : PRINT : HTAB 22: PRINT D(7) SPC( D(7) <10)
410 FOR QX = 1 TO 20: IF D(QX) = 34 THEN NEXT :QX = 0: GOTO 412
411 QX = 100: NEXT : RETURN
412 FOR QX = 1 TO 16:D(QX) = 0: NEXT : FOR QX = 1 TO 16:D(Q%(QX)) = D(Q%(QX)) +1: NEXT
413 FOR QX = 1 TO 16: IF D(QX) < >1 THEN QX = 100: NEXT : RETURN
414 GOTO 680
510 REM ** FILL OUT 9-CELL DIAMOND **
520 GOSUB 620
530 I = 1:J = 1:J2 = 0
540 GOSUB 670
550 VTAB T%(I): ROT= U%(I): SCALE= V%(I) +1:T1$ = STR$(Q%(I)):IN$ = T1$: GOSUB 980:Q%(I) = VAL(IN$)
555 IF AF = 11 THEN I = I -1: IF I = 11 THEN I = 9
556 IF AF = 11 AND I = 7 THEN I = 6
557 IF AF = 11 AND I = 0 THEN I = 12
558 IF AF = 11 THEN 565
560 I = I +1:AF = 0
565 IF I = 7 THEN I = 8
570 IF I = 10 THEN I = 12
580 IF I = 13 THEN I = 1
590 GOTO 540
610 REM ** DRAWS 9-CELL DIAMOND **
620 HPLOT 139,11 TO 202,59 TO 139,107 TO 76,59 TO 139,11
630 HPLOT 118,27 TO 181,75: HPLOT 160,27 TO 97,75
640 HPLOT 97,43 TO 160,91: HPLOT 181,43 TO 118,91
650 ZZ = 1
660 RETURN
670 D(1) = Q%(4) +Q%(5) +Q%(6):D(2) = Q%(1) +Q%(2) +Q%(4):D(3) = Q%(3) +Q%(5) +Q%(8)
671 D(4) = Q%(6) +Q%(9) +Q%(12):D(5) = Q%(1) +Q%(5) +Q%(12):D(6) = Q%(4) +Q%(8) +Q%(12)
672 D(7) = Q%(2) +Q%(5) +Q%(9):D(8) = Q%(1) +Q%(3) +Q%(6)
673 VTAB 8: HTAB 32: PRINT D(1) SPC( D(1) <10): PRINT : PRINT : HTAB 11: PRINT SPC( D(2) <10)D(2): PRINT : HTAB 14: PRINT SPC( D(3) <10)D(3)
674 PRINT : HTAB 17: PRINT SPC( D(4) <10)D(4): PRINT : HTAB 20: PRINT SPC( D(5) <10)D(5)
675 VTAB 10: HTAB 29: PRINT D(8) SPC( D(8) <10): PRINT : PRINT : HTAB 26: PRINT D(7) SPC( D(7) <10): PRINT : PRINT : HTAB 23: PRINT D(6) SPC( D(6) <10)
676 FOR QX = 1 TO 8: IF D(QX) = 15 THEN NEXT :QX = 0: GOTO 678
677 QX = 100: NEXT : RETURN
678 FOR QX = 1 TO 9:D(QX) = 0: NEXT : FOR QX = 1 TO 6:D(Q%(QX)) = D(Q%(QX)) +1: NEXT :D(Q%(8)) = D(Q%(8)) +1:D(Q%(9)) = D(Q%(9)) +1:D(Q%(12)) = D(Q%(12)) +1
679 FOR QX = 1 TO 9: IF D(QX) < >1 THEN QX = 100: NEXT : RETURN
680 NEXT :QX = 0: GOSUB 2090: VTAB 22: HTAB 7: PRINT "You have met the challenge!!"
681 VTAB 24: GOSUB 1840: GOSUB 1820: GOTO 1320
770 REM **PRINT OUT DIAMOND**
780 HPLOT 55,75 TO 139,11 TO 223,75 TO 139,139 TO 55,75
790 HPLOT 76,59 TO 160,123
800 HPLOT 97,43 TO 181,107
810 HPLOT 118,27 TO 202,91
820 HPLOT 76,91 TO 160,27
830 HPLOT 97,107 TO 181,43
840 HPLOT 118,123 TO 202,59
850 ZZ = 0
860 RETURN
870 REM **FILL ROUTINE**
880 FOR X = 1 TO 5
890 X1 = X1 +D:Y1 = Y1 +E
900 X2 = X2 +D:Y2 = Y2 +E
910 HPLOT X1,Y1 TO X2,Y2
920 NEXT X
930 RETURN
940 REM **ERASE DIAMOND**
950 FOR R = 2 TO 17
960 VTAB R: HTAB 1: PRINT SPC( 32)
970 NEXT R: VTAB 18: HTAB 20: PRINT SPC( 2): RETURN
980 REM **INPUT ROUTINE**
990 CN = 1: FOR QX = 1 TO LEN(T1$):IN$(QX) = MID$ (T1$,QX,1): NEXT : FOR QX = QX TO 9:IN$(QX) = " ": NEXT
995 L1 = PEEK(249) - PEEK(231)
996 CN = LEN(T1$)
1000 HTAB PEEK(231): PRINT LEFT$(T1$,L1);: HTAB PEEK(231)
1010 AF = 0: FOR QX = 0 TO 128: POKE 50,255 -192 *( PEEK(50) = 255):QX = PEEK(49152): HTAB PEEK(231) +CN -1: PRINT IN$(CN) CHR$(8);: NEXT
1011 POKE 49168,0:T$ = CHR$(QX -129): NORMAL : PRINT IN$(CN) CHR$(8);
1015 IF T$ = ES$ THEN POP : GOTO 1550
1019 IF T$ = CHR$(10) OR T$ = CHR$(11) THEN AF = ASC(T$): GOTO 1210
1020 ON T$ = CHR$(13) GOTO 1210: IF CN >L1 THEN IF T$ < > CHR$(8) THEN IF T$ < > CHR$(127) THEN IF T$ < > CHR$(4) THEN PRINT CHR$(7);: GOTO 1010
1030 IF T$ = CHR$(24) THEN 990
1040 IF T$ = "/" OR T$ = "?" THEN POP : GOTO 1260
1070 IF (T$ = CHR$(127) OR T$ = CHR$(4)) AND CN = 2 THEN IN$(1) = "0":CN = 1: GOTO 1000
1080 IF T$ = CHR$(8) OR T$ = CHR$(127) OR T$ = CHR$(4) THEN IF CN = 1 GOTO 1010
1090 IF T$ = CHR$(8) AND CN >1 THEN T$ = CHR$(127)
1100 IF T$ = CHR$(127) OR T$ = CHR$(4) THEN IF CN >1 THEN PRINT " " CHR$(8) CHR$(8);:IN$(CN -1) = " ":CN = CN -1: GOTO 1010
1110 IF T$ < CHR$(47) OR T$ > CHR$(57) THEN PRINT CHR$(7);: GOTO 1010
1131 IF T$ = CHR$(127) THEN 1010
1140 PRINT T$;:IN$(CN) = T$:CN = CN +1: GOTO 1010
1210 IN$ = "": FOR QX = 1 TO CN:IN$ = IN$ +IN$(QX): NEXT
1250 RETURN
1260 GOSUB 2090: GOSUB 2110: GOSUB 2130
1270 IF ZZ = 0 THEN 1500
1280 IF ZZ = 1 THEN 1485
1290 GOSUB 1820: GOTO 1320
1300 REM ** MAIN MENU **
1310 M1 = 1
1320 VTAB 1: HTAB 13: PRINT "MAGIC DIAMONDS"
1330 VTAB 5: HTAB 15: INVERSE : PRINT "-- MENU --": NORMAL
1340 FOR C1 = 1 TO 6: IF M1 = C1 THEN INVERSE
1350 HTAB 7: VTAB 2 *C1 +7: PRINT W$(C1): NORMAL
1360 NEXT
1370 VTAB 24: HTAB 1: PRINT "ARROWS MOVE HIGHLIGHT - RETURN SELECTS"
1380 GET K$
1390 NORMAL : HTAB 7: VTAB 2 *M1 +7: PRINT W$(M1)
1400 IF (K$ = BS$ OR K$ = UP$) THEN M1 = M1 -1: IF M1 <1 THEN M1 = 6
1410 IF (K$ = FS$ OR K$ = DN$) THEN M1 = M1 +1: IF M1 >6 THEN M1 = 1
1420 IF K$ = CR$ THEN INVERSE : HTAB 7: VTAB 2 *M1 +7: PRINT W$(M1): NORMAL : GOTO 1460
1430 IF K$ = ES$ THEN M1 = 6: GOTO 1460
1440 INVERSE : HTAB 7: VTAB 2 *M1 +7: PRINT W$(M1): NORMAL
1450 GOTO 1380
1460 ON M1 GOTO 1480,1500,1520,1530,1475,1540
1470 GOTO 1340
1475 PRINT CHR$(4)"-MD.1"
1480 GOSUB 1830: GOSUB 1810
1485 CALL 54915
1490 ZZ = 1: GOSUB 1850: GOSUB 510
1500 GOSUB 1830: GOSUB 1810
1505 CALL 54915
1510 ZZ = 0: GOSUB 1950: GOSUB 320
1520 GOTO 2170
1530 PRINT CHR$(4);"RUNMD.3"
1540 GOSUB 1820: GOTO 3750
1550 GOSUB 1820: GOTO 1320
1810 REM ** CLEAR SCREEN **
1820 HCOLOR= 0: HPLOT 0,0: CALL -3082: HCOLOR= 3: RETURN
1830 FOR X = 1 TO 16:Q%(X) = 0: NEXT X: RETURN
1840 HTAB 8: PRINT "Press any key to continue.";: GET P$: RETURN
1850 REM ** 9-CELL WORDS **
1860 VTAB 1: HTAB 9: PRINT "The 9-cell CHALLENGE!!"
1870 VTAB 19: HTAB 1
1880 PRINT "Hi There! Make this a MAGIC DIAMOND by"
1890 PRINT "placing the digits 1-9 (no duplicates)"
1900 PRINT "in the cells. The sums are displayed."
1910 PRINT "Up and down arrow (CTRL K,J) move from"
1920 PRINT "cell to cell. RET accepts. DEL erases."
1930 PRINT "Go Ahead! Good Luck!! (?)HINT"
1940 RETURN
1950 REM ** 16-CELL WORDS **
1960 VTAB 1: HTAB 9: PRINT "The 16-cell CHALLENGE!"
1970 VTAB 20: HTAB 1
1980 PRINT "Hello Again! Make this a MAGIC DIAMOND"
1990 PRINT "by putting 1-16 in the cells (no dupli-"
2000 PRINT "cates.) Up and down arrows (CTRL K&J) "
2010 PRINT "move, RET accepts and DELETE erases."
2020 PRINT "GOOD LUCK!! (?)HINT"
2040 RETURN
2050 REM ** HINT2 **
2060 VTAB 20: HTAB 1: PRINT "HINT...(1) The MAGIC SUM = 34."
2070 PRINT " (2) Horiz. diag. is 4, 7, 10, 13": RETURN
2080 REM ** ERASE 6 LINES **
2090 FOR X = 19 TO 24: VTAB X: HTAB 1: PRINT SPC( 40): NEXT X: RETURN
2100 REM ** HINT1 **
2110 IF ZZ < >1 THEN GOSUB 2060: GOSUB 2130: GOSUB 2090: GOTO 1505
2120 VTAB 20: HTAB 1: PRINT "HINT...(1) The MAGIC SUM is 15.": PRINT " (2) The top cell = 8": RETURN
2130 VTAB 24: HTAB 12: PRINT "- Press a Key -": GET P$
2140 IF P$ = ES$ THEN POP : GOTO 1550
2150 RETURN
2160 REM ** EXAMPLES **
2170 XX = 3: FOR I = 1 TO 16:D(I) = 0: NEXT
2180 GOSUB 1820: GOSUB 780: GOSUB 2550: GOSUB 2590
2190 GOSUB 2450: GOSUB 2860
2200 GOSUB 2300: GOSUB 2130: GOSUB 2090: GOSUB 2370: GOSUB 2130
2210 GOSUB 2090: GOSUB 2650: GOSUB 2130: GOSUB 2090: GOSUB 2720: GOSUB 2130: GOSUB 2640
2220 GOSUB 2090: GOSUB 2630: GOSUB 2550: GOSUB 2590: GOSUB 2860
2230 GOSUB 2880: GOSUB 2130: GOSUB 2090: GOSUB 2950: GOSUB 2130: GOSUB 2090: GOSUB 3060: GOSUB 2130: GOSUB 2640
2240 GOSUB 2090: GOSUB 2630: GOSUB 2550: GOSUB 2590: GOSUB 2860
2250 GOSUB 3160: GOSUB 2130: GOSUB 2090: GOSUB 3230: GOSUB 2130: GOSUB 2090
2260 GOSUB 3510: GOSUB 2130: GOSUB 2090: GOSUB 3340: GOSUB 2130: GOSUB 2090
2270 GOSUB 3410: GOSUB 2130: GOSUB 2090: GOSUB 3880: GOSUB 2130: GOSUB 2640: GOSUB 2090: GOSUB 2630: GOSUB 2550: GOSUB 2590: GOSUB 2860
2280 GOSUB 3610: GOSUB 2130: GOSUB 2090: GOSUB 3680: GOSUB 2130: GOSUB 2090: GOTO 1550
2290 REM ** MAKE DIAMOND WORDS **
2300 VTAB 19: HTAB 1
2310 PRINT "This is a BASIC 16-cell magic"
2320 PRINT "diamond. The numbers from 1 to 16"
2330 PRINT "are placed correctly to have a MAGIC"
2340 PRINT "SUM of 34 and all 20 4-cell sets"
2350 PRINT "also have this sum."
2360 RETURN
2370 VTAB 19: HTAB 1
2380 PRINT "All construction of magic diamonds"
2390 PRINT "with numbers denoting dates, ages,"
2400 PRINT "years, or other special values, start"
2410 PRINT "from this magic diamond. Let's do a few"
2420 PRINT "examples so you can see how it's done."
2430 RETURN
2440 REM ** PRINT PATHS **
2450 VTAB 1: HTAB 23: PRINT "PATHS: AB"
2460 VTAB 2: HTAB 31: PRINT "FH DE"
2470 VTAB 3: HTAB 29: PRINT "EG CG CF"
2480 VTAB 4: HTAB 27: PRINT "CD BF AE GH"
2490 VTAB 5: HTAB 29: PRINT "AH DH BD"
2500 VTAB 6: HTAB 31: PRINT "BG AC"
2510 VTAB 7: HTAB 33: PRINT "EF"
2520 VTAB 1: HTAB 1: PRINT "PATH ADD":XX = 3
2530 RETURN
2540 REM ** SET UP BASIC DIAMOND **
2550 Q%(1) = 16:Q%(2) = 5:Q%(3) = 2:Q%(4) = 9:Q%(5) = 11:Q%(6) = 3:Q%(7) = 4:Q%(8) = 7
2560 Q%(9) = 10:Q%(10) = 13:Q%(11) = 14:Q%(12) = 6:Q%(13) = 8:Q%(14) = 15:Q%(15) = 12:Q%(16) = 1
2570 RETURN
2580 REM ** FILL UP 16 CELLS **
2590 FOR X = 1 TO 16:AA = R%(X):BB = S%(X):LL = LEN( STR$(Q%(X)))
2600 IF LL = 1 THEN BB = BB +2
2610 IF LL = 2 OR LL = 3 THEN BB = BB +1
2615 NORMAL : IF D(X) THEN INVERSE
2620 VTAB AA: HTAB BB: PRINT Q%(X);: NEXT X: FOR X = 1 TO 16:D(X) = 0: NEXT : NORMAL : RETURN
2630 FOR X = 1 TO 16: VTAB R%(X): HTAB S%(X): PRINT SPC( 4): NEXT X: RETURN
2640 FOR X = 3 TO 16: VTAB X: HTAB 1: PRINT SPC( 7): NEXT X:XX = 3: RETURN
2650 N1 = 1: GOSUB 2870: VTAB 19: HTAB 1
2660 PRINT "Let's say you are 18 years old and"
2670 PRINT "you would like the top cell to contain"
2680 PRINT "your age. A look at the PATHS diagram"
2690 PRINT "shows us that PATHS A and B fall in"
2700 PRINT "the top cell. Thus we can add a value"
2710 RETURN
2720 VTAB 19: HTAB 1
2730 PRINT "to PATH A or to PATH B to make the top"
2740 PRINT "cell become 18. Let's choose PATH A."
2750 PRINT "A value of 2 must be added to PATH A"
2760 PRINT "to make the top cell hold 18 (16+2=18)."
2770 PRINT "The MAGIC SUM is now 36! WATCH!!"
2780 GOSUB 2130
2790 F$ = "A":V = 2:Q%(1) = 18:Q%(9) = 12:Q%(11) = 16:Q%(15) = 14:D(1) = 1:D(9) = 1:D(11) = 1:D(15) = 1: GOSUB 2830: GOSUB 2590: GOSUB 2860
2800 PRINT BL$;
2810 RETURN
2820 REM ** PRINT PATH/VALUE **
2830 VTAB XX: HTAB 1: PRINT F$;" ";V;:XX = XX +1
2840 IF XX = 17 THEN XX = 3
2850 RETURN
2860 VTAB 17: HTAB 1: PRINT SPC( 17): HTAB 1: PRINT "Magic Sum = ";Q%(1) +Q%(3) +Q%(6) +Q%(10);: RETURN
2870 VTAB 17: HTAB 26: PRINT "Example: ";N1;: RETURN
2880 N1 = 2: GOSUB 2870: VTAB 19: HTAB 1
2890 PRINT "Let's say you want the year 1992 to"
2900 PRINT "appear in the middle two cells of the"
2910 PRINT "BASIC diamond which contain 7 and 10."
2920 PRINT "First we want to add 12 (19-7=12) to"
2930 PRINT "either of the two PATHS in 7's cell."
2940 RETURN
2950 VTAB 19: HTAB 1
2960 PRINT "We can use either PATH B or PATH F"
2970 PRINT "We'll choose PATH B and add 12 to it."
2980 PRINT "This puts 19 in the cell where 7 was."
2990 GOSUB 2130
3000 F$ = "B":V = 12:Q%(1) = 28:Q%(8) = 19:Q%(13) = 20:Q%(14) = 27:D(1) = 1:D(8) = 1:D(13) = 1:D(14) = 1: GOSUB 2830: GOSUB 2590: GOSUB 2860
3010 PRINT BL$;
3020 VTAB 22: HTAB 1
3030 PRINT "Now we want to change the 10 to a 92."
3040 PRINT "We can use either PATH A or PATH E."
3050 RETURN
3060 VTAB 19: HTAB 1
3070 PRINT "Using PATH E, we add 82 (92-10=82)"
3080 PRINT "and obtain the desired 92 in 10's cell."
3090 PRINT "You see what it looks like now. (The"
3100 PRINT "computer sounds the note to let you"
3110 PRINT "know it's done!)"
3120 GOSUB 2130
3130 F$ = "E":V = 82:Q%(3) = 84:Q%(4) = 91:Q%(9) = 92:Q%(16) = 83:D(3) = 1:D(4) = 1:D(9) = 1:D(16) = 1: GOSUB 2830: GOSUB 2590: GOSUB 2860
3140 PRINT BL$;
3150 RETURN
3160 N1 = 3: GOSUB 2870: VTAB 19: HTAB 1
3170 PRINT "Let's say a friend has a birthday on"
3180 PRINT "10/15/92 and you wish to have these"
3190 PRINT "values appear in the 3rd row. Do you"
3200 PRINT "see that we must add 1, 4, and 89 to"
3210 PRINT "the 3 cells in that order?"
3220 RETURN
3230 VTAB 19: HTAB 1
3240 PRINT "We can add the 1 using PATHS E or G,"
3250 PRINT "the 4 using PATHS C or G, and the 89"
3260 PRINT "using PATHS C or F, BUT G & C overlap!!"
3270 PRINT "Let's add 1 to PATH E and 4 to PATH C."
3280 PRINT "This results in getting 10, 15 and 7."
3290 GOSUB 2130
3300 F$ = "E":V = 1:Q%(4) = 10:Q%(3) = 3:Q%(9) = 11:Q%(16) = 2:D(4) = 1:D(3) = 1:D(9) = 1:D(16) = 1: GOSUB 2830: GOSUB 2590: GOSUB 2860
3305 GOSUB 2130
3310 F$ = "C":V = 4:Q%(5) = 15:Q%(6) = 7:Q%(7) = 8:Q%(15) = 16:D(5) = 1:D(6) = 1:D(7) = 1:D(15) = 1: GOSUB 2830: GOSUB 2590: GOSUB 2860
3320 PRINT BL$;
3330 RETURN
3340 VTAB 19: HTAB 1
3350 PRINT "The MAGIC SUM is 124 and it is easy"
3360 PRINT "to make this the birth year, say, 1980."
3370 PRINT "To change the sum, find an unused PATH"
3380 PRINT "which would not bother the already"
3390 PRINT "planted values 10, 15, & 92. We cannot"
3400 RETURN
3410 VTAB 19: HTAB 1
3420 PRINT "use PATHS C, E, F, or G. Leaving A, B,"
3430 PRINT "D, or H. Take PATH B and add 1856."
3440 PRINT "This eliminates duplicate 92's in cells"
3450 PRINT "6 and 8. See Them? Now the MAGIC SUM is"
3460 PRINT "1980 and the 10/15/92 shows up clearly!"
3470 GOSUB 2130
3480 F$ = "B":V = 1856:Q%(1) = 1872:Q%(8) = 1948:Q%(13) = 1864:Q%(14) = 1871:D(1) = 1:D(8) = 1:D(13) = 1:D(14) = 1: GOSUB 2830: GOSUB 2590: GOSUB 2860
3490 PRINT BL$;
3500 RETURN
3510 VTAB 19: HTAB 1
3520 PRINT "Now we have the 1st two cells done"
3530 PRINT "but the 3rd one is now a 7 (it was 3)"
3540 PRINT "Thus we must add 85 (92-7=85) to PATH F"
3550 PRINT "since using PATH C would change the 2nd"
3560 PRINT "cell. You see the 10/15/92 in place!!"
3570 GOSUB 2130
3580 F$ = "F":V = 85:Q%(6) = 92:Q%(2) = 90:Q%(8) = 92:Q%(16) = 87:D(6) = 1:D(2) = 1:D(8) = 1:D(16) = 1: GOSUB 2830: GOSUB 2590: GOSUB 2860
3590 PRINT BL$;
3600 RETURN
3610 VTAB 17: HTAB 26: PRINT SPC( 11): VTAB 19: HTAB 1
3620 PRINT "Comments: The more planted values you"
3630 PRINT "wish, the more ingenuity is needed."
3640 PRINT "At times, adding more than once to one"
3650 PRINT "PATH is necessary. Adding values to all"
3660 PRINT "cells helps. Adding negatives helps!"
3670 RETURN
3680 VTAB 19: HTAB 1
3690 PRINT "If you don't like duplicates cells, add"
3700 PRINT "to unused PATHS to eliminate them."
3710 PRINT "Shade or color planted cells on your"
3720 PRINT "finished product. Enjoy making your own"
3730 PRINT "MAGIC DIAMONDS! Be creative. Bye!!"
3740 RETURN
3750 VTAB 12: HTAB 2
3760 PRINT "Are you sure you want to quit (Y/N)? ";: GET A$
3770 IF A$ < >"Y" AND A$ < >"y" AND A$ < >"N" AND A$ < >"n" THEN PRINT BL$;: GOTO 3750
3780 IF A$ = "N" OR A$ = "n" THEN GOSUB 1810: GOTO 1310
3790 PRINT CHR$(4)"BYE"
3870 REM ** PATH ADD **
3880 VTAB 19: HTAB 1
3890 PRINT "Examine the PATH ADD column. It holds"
3900 PRINT "14 items before it starts to overwrite"
3910 PRINT "at the top. A PATH of + indicates that"
3920 PRINT "the value was added to all cells. This"
3930 PRINT "record should help you greatly."
3940 RETURN